home *** CD-ROM | disk | FTP | other *** search
/ BBS in a Box 12 / BBS in a box XII-2.iso / Files II / Prog / D-G / Extension Shell 1.3.sit / Extension Shell 1.3 ƒ / Extension Shell 1.3 (Source) / ShowIcon.c < prev    next >
MacBinary  |  1994-04-06  |  9.8 KB  |  [TEXT/R*ch]

open in: MacOS 8.1     |     Win98     |     DOS

view JSON data     |     view as text

This file was processed as: MacBinary (archive/macBinary).

You can browse this item here: ShowIcon.c

ConfidenceProgramDetectionMatch TypeSupport
66% dexvert Compact Compressed (Unix) (archive/compact) ext Supported
10% dexvert MacBinary (archive/macBinary) fallback Supported
1% dexvert Text File (text/txt) fallback Supported
100% file MacBinary II, inited, Wed Apr 6 13:56:34 1994, modified Wed Apr 6 13:56:34 1994, creator BBEdit, type ASCII, 9020 bytes "ShowIcon.c" , at 0x23bc 760 bytes resource default (weak)
99% file data default
74% TrID Macintosh plain text (MacBinary) default
25% TrID MacBinary 2 default (weak)
100% siegfried fmt/1762 MacBinary (II) default
100% lsar MacBinary default


id metadata
keyvalue
macFileType[TEXT]
macFileCreator[R*ch]



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 00 0a 53 68 6f 77 49 63 | 6f 6e 2e 63 00 00 00 00 |..ShowIc|on.c....|
|00000010| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000020| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000030| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000040| 00 54 45 58 54 52 2a 63 | 68 01 00 00 00 00 00 00 |.TEXTR*c|h.......|
|00000050| 00 00 00 00 00 23 3c 00 | 00 02 f8 a9 c8 a8 52 a9 |.....#<.|......R.|
|00000060| c8 a8 52 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |..R.....|........|
|00000070| 00 00 00 00 00 00 00 00 | 00 00 81 81 19 23 00 00 |........|.....#..|
|00000080| 2f 2a 09 4e 41 4d 45 3a | 0d 09 09 53 68 6f 77 49 |/*.NAME:|...ShowI|
|00000090| 63 6f 6e 2e 63 0d 0d 09 | 57 52 49 54 54 45 4e 20 |con.c...|WRITTEN |
|000000a0| 42 59 3a 0d 09 09 56 61 | 72 69 6f 75 73 2e 2e 2e |BY:...Va|rious...|
|000000b0| 20 73 65 65 20 64 65 73 | 63 72 69 70 74 69 6f 6e | see des|cription|
|000000c0| 2e 0d 0d 09 4d 4f 44 49 | 46 49 45 44 20 42 59 3a |....MODI|FIED BY:|
|000000d0| 0d 09 09 44 61 69 72 20 | 47 72 61 6e 74 0d 09 09 |...Dair |Grant...|
|000000e0| 09 09 0d 09 44 45 53 43 | 52 49 50 54 49 4f 4e 3a |....DESC|RIPTION:|
|000000f0| 0d 09 09 54 68 69 73 20 | 63 6f 64 65 20 69 73 20 |...This |code is |
|00000100| 62 61 73 65 64 20 76 61 | 72 69 6f 75 73 6c 79 20 |based va|riously |
|00000110| 6f 6e 20 4a 61 6d 65 73 | 20 57 61 6c 6b 65 72 27 |on James| Walker'|
|00000120| 73 20 53 68 6f 77 49 63 | 6f 6e 37 2e 63 20 63 6f |s ShowIc|on7.c co|
|00000130| 64 65 2c 20 61 6e 64 20 | 50 61 74 72 69 63 6b 0d |de, and |Patrick.|
|00000140| 09 09 42 65 61 72 64 27 | 73 20 53 68 6f 77 49 63 |..Beard'|s ShowIc|
|00000150| 6f 6e 46 61 6d 69 6c 79 | 20 63 6f 64 65 2e 20 53 |onFamily| code. S|
|00000160| 68 6f 77 49 63 6f 6e 46 | 61 6d 69 6c 79 20 77 61 |howIconF|amily wa|
|00000170| 73 20 69 74 73 65 6c 66 | 20 62 61 73 65 64 20 6f |s itself| based o|
|00000180| 6e 20 74 68 65 20 6f 72 | 69 67 69 6e 61 6c 0d 09 |n the or|iginal..|
|00000190| 09 53 68 6f 77 49 6e 69 | 74 20 2d 20 62 79 20 50 |.ShowIni|t - by P|
|000001a0| 61 75 6c 20 4d 65 72 63 | 65 72 2c 20 44 61 72 69 |aul Merc|er, Dari|
|000001b0| 6e 20 41 64 6c 65 72 2c | 20 61 6e 64 20 50 61 75 |n Adler,| and Pau|
|000001c0| 6c 20 53 6e 69 76 65 6c | 79 2c 20 66 72 6f 6d 20 |l Snivel|y, from |
|000001d0| 61 6e 20 69 64 65 61 20 | 62 79 0d 09 09 53 74 65 |an idea |by...Ste|
|000001e0| 76 65 20 43 61 70 70 73 | 2e 0d 0d 09 09 54 68 69 |ve Capps|.....Thi|
|000001f0| 73 20 69 73 20 74 68 65 | 20 64 65 20 66 61 63 74 |s is the| de fact|
|00000200| 6f 20 73 74 61 6e 64 61 | 72 64 20 75 73 65 64 20 |o standa|rd used |
|00000210| 62 79 20 61 6c 6c 20 4d | 61 63 20 49 4e 49 54 73 |by all M|ac INITs|
|00000220| 2e 0d 0d 09 4e 4f 54 45 | 53 3a 0d 09 09 a5 09 43 |....NOTE|S:.....C|
|00000230| 6f 6d 70 69 6c 65 64 20 | 77 69 74 68 20 54 48 49 |ompiled |with THI|
|00000240| 4e 4b 20 43 20 36 2e 30 | 2e 0d 0d 09 09 a5 09 57 |NK C 6.0|.......W|
|00000250| 65 20 75 73 65 20 74 68 | 65 20 53 79 73 74 65 6d |e use th|e System|
|00000260| 20 37 20 49 63 6f 6e 53 | 75 69 74 65 20 63 61 6c | 7 IconS|uite cal|
|00000270| 6c 73 20 74 6f 20 64 69 | 73 70 6c 61 79 20 74 68 |ls to di|splay th|
|00000280| 65 20 61 70 70 72 6f 70 | 72 69 61 74 65 20 69 63 |e approp|riate ic|
|00000290| 6f 6e 0d 09 09 09 66 72 | 6f 6d 20 6f 75 72 20 49 |on....fr|om our I|
|000002a0| 4e 49 54 20 63 6f 64 65 | 27 73 20 69 63 6f 6e 20 |NIT code|'s icon |
|000002b0| 66 61 6d 69 6c 79 2e 20 | 54 68 69 73 20 6c 6f 6f |family. |This loo|
|000002c0| 6b 73 20 61 66 74 65 72 | 20 62 69 74 20 64 65 70 |ks after| bit dep|
|000002d0| 74 68 73 2c 20 61 6e 64 | 0d 09 09 09 72 65 6d 6f |ths, and|....remo|
|000002e0| 76 65 73 20 74 68 65 20 | 6e 65 65 64 20 66 6f 72 |ves the |need for|
|000002f0| 20 27 63 69 63 6e 27 73 | 20 66 6f 72 20 63 6f 6c | 'cicn's| for col|
|00000300| 6f 75 72 20 64 69 73 70 | 6c 61 79 73 2e 0d 09 09 |our disp|lays....|
|00000310| 0d 09 09 a5 09 49 66 20 | 77 65 27 72 65 20 6e 6f |.....If |we're no|
|00000320| 74 20 72 75 6e 6e 69 6e | 67 20 75 6e 64 65 72 20 |t runnin|g under |
|00000330| 53 79 73 74 65 6d 20 37 | 2c 20 77 65 20 63 61 6e |System 7|, we can|
|00000340| 20 6f 6e 6c 79 20 68 61 | 6e 64 6c 65 20 27 49 43 | only ha|ndle 'IC|
|00000350| 4e 23 27 0d 09 09 09 72 | 65 73 6f 75 72 63 65 73 |N#'....r|esources|
|00000360| 2e 0d 09 09 09 0d 09 09 | a5 09 4d 61 6b 65 20 73 |........|..Make s|
|00000370| 75 72 65 20 79 6f 75 20 | 68 61 76 65 20 74 6f 20 |ure you |have to |
|00000380| 6d 6f 73 74 20 75 70 2d | 74 6f 2d 64 61 74 65 20 |most up-|to-date |
|00000390| 63 6f 70 79 20 6f 66 20 | 3c 49 63 6f 6e 73 2e 68 |copy of |<Icons.h|
|000003a0| 3e 2e 20 54 68 65 20 49 | 63 6f 6e 53 75 69 74 65 |>. The I|conSuite|
|000003b0| 0d 09 09 09 72 6f 75 74 | 69 6e 65 73 20 77 65 72 |....rout|ines wer|
|000003c0| 65 20 6d 69 73 73 69 6e | 67 20 66 72 6f 6d 20 73 |e missin|g from s|
|000003d0| 6f 6d 65 20 6f 6c 64 65 | 72 20 76 65 72 73 69 6f |ome olde|r versio|
|000003e0| 6e 73 20 6f 66 20 54 48 | 49 4e 4b 20 43 2e 0d 09 |ns of TH|INK C...|
|000003f0| 09 09 0d 09 5f 5f 5f 5f | 5f 5f 5f 5f 5f 5f 5f 5f |....____|________|
|00000400| 5f 5f 5f 5f 5f 5f 5f 5f | 5f 5f 5f 5f 5f 5f 5f 5f |________|________|
|00000410| 5f 5f 5f 5f 5f 5f 5f 5f | 5f 5f 5f 5f 5f 5f 5f 5f |________|________|
|00000420| 5f 5f 5f 5f 5f 5f 5f 5f | 5f 5f 5f 5f 5f 5f 5f 5f |________|________|
|00000430| 5f 5f 5f 5f 5f 5f 5f 5f | 5f 5f 5f 5f 5f 5f 5f 0d |________|_______.|
|00000440| 0d 09 56 45 52 53 49 4f | 4e 20 48 49 53 54 4f 52 |..VERSIO|N HISTOR|
|00000450| 59 3a 0d 09 09 28 4a 61 | 6e 20 31 39 39 34 2c 20 |Y:...(Ja|n 1994, |
|00000460| 64 67 29 0d 09 09 09 a5 | 09 46 69 72 73 74 20 70 |dg).....|.First p|
|00000470| 75 62 6c 69 63 6c 79 20 | 64 69 73 74 72 69 62 75 |ublicly |distribu|
|00000480| 74 65 64 20 76 65 72 73 | 69 6f 6e 2e 0d 0d 0d 09 |ted vers|ion.....|
|00000490| 5f 5f 5f 5f 5f 5f 5f 5f | 5f 5f 5f 5f 5f 5f 5f 5f |________|________|
|000004a0| 5f 5f 5f 5f 5f 5f 5f 5f | 5f 5f 5f 5f 5f 5f 5f 5f |________|________|
|000004b0| 5f 5f 5f 5f 5f 5f 5f 5f | 5f 5f 5f 5f 5f 5f 5f 5f |________|________|
|000004c0| 5f 5f 5f 5f 5f 5f 5f 5f | 5f 5f 5f 5f 5f 5f 5f 5f |________|________|
|000004d0| 5f 5f 5f 5f 5f 5f 5f 5f | 5f 5f 5f 0d 2a 2f 0d 2f |________|___.*/./|
|000004e0| 2f 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |/=======|========|
|000004f0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000500| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000510| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000520| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 0d 2f |========|======./|
|00000530| 2f 09 09 49 6e 63 6c 75 | 64 65 20 66 69 6c 65 73 |/..Inclu|de files|
|00000540| 09 09 09 09 09 09 09 09 | 09 09 09 09 09 09 09 09 |........|........|
|00000550| 09 20 0d 2f 2f 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |. .//---|--------|
|00000560| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000570| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000580| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000590| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000005a0| 2d 2d 0d 23 69 6e 63 6c | 75 64 65 20 3c 49 63 6f |--.#incl|ude <Ico|
|000005b0| 6e 73 2e 68 3e 0d 23 69 | 6e 63 6c 75 64 65 20 22 |ns.h>.#i|nclude "|
|000005c0| 45 53 43 6f 6e 73 74 61 | 6e 74 73 2e 68 22 0d 23 |ESConsta|nts.h".#|
|000005d0| 69 6e 63 6c 75 64 65 20 | 22 53 68 6f 77 49 63 6f |include |"ShowIco|
|000005e0| 6e 2e 68 22 0d 0d 0d 0d | 0d 0d 2f 2f 3d 3d 3d 3d |n.h"....|..//====|
|000005f0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000600| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000610| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000620| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000630| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 0d 2f 2f 09 09 50 72 |========|=.//..Pr|
|00000640| 69 76 61 74 65 20 66 75 | 6e 63 74 69 6f 6e 20 70 |ivate fu|nction p|
|00000650| 72 6f 74 6f 74 79 70 65 | 73 09 09 09 09 09 09 09 |rototype|s.......|
|00000660| 09 09 09 09 09 09 09 09 | 09 09 20 0d 2f 2f 2d 2d |........|.. .//--|
|00000670| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000680| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000690| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000006a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000006b0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 0d 76 6f 69 64 |--------|---.void|
|000006c0| 09 09 47 65 74 49 63 6f | 6e 52 65 63 74 28 52 65 |..GetIco|nRect(Re|
|000006d0| 63 74 20 2a 74 68 65 52 | 65 63 74 2c 20 52 65 63 |ct *theR|ect, Rec|
|000006e0| 74 20 2a 74 68 65 50 6f | 72 74 52 65 63 74 29 3b |t *thePo|rtRect);|
|000006f0| 0d 76 6f 69 64 09 09 4e | 65 78 74 50 6f 73 69 74 |.void..N|extPosit|
|00000700| 69 6f 6e 28 76 6f 69 64 | 29 3b 0d 73 68 6f 72 74 |ion(void|);.short|
|00000710| 09 09 43 68 65 63 6b 53 | 75 6d 28 72 65 67 69 73 |..CheckS|um(regis|
|00000720| 74 65 72 20 73 68 6f 72 | 74 20 78 29 3b 0d 76 6f |ter shor|t x);.vo|
|00000730| 69 64 09 09 50 6c 6f 74 | 42 57 49 63 6f 6e 28 52 |id..Plot|BWIcon(R|
|00000740| 65 63 74 20 2a 69 63 6f | 6e 52 65 63 74 2c 20 48 |ect *ico|nRect, H|
|00000750| 61 6e 64 6c 65 20 74 68 | 65 49 63 6f 6e 29 3b 0d |andle th|eIcon);.|
|00000760| 0d 0d 0d 0d 0d 2f 2f 3d | 3d 3d 3d 3d 3d 3d 3d 3d |.....//=|========|
|00000770| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000780| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000790| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000007a0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000007b0| 3d 3d 3d 3d 0d 2f 2f 09 | 09 47 6c 6f 62 61 6c 20 |====.//.|.Global |
|000007c0| 76 61 72 69 61 62 6c 65 | 73 09 09 09 09 09 09 09 |variable|s.......|
|000007d0| 09 09 09 09 09 09 09 09 | 09 20 0d 2f 2f 2d 2d 2d |........|. .//---|
|000007e0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000007f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000800| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000810| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000820| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 0d 2f 2f 20 53 68 |--------|--.// Sh|
|00000830| 6f 77 49 6e 69 74 27 73 | 20 69 6e 66 6f 72 6d 61 |owInit's| informa|
|00000840| 74 69 6f 6e 20 69 73 20 | 6e 65 73 74 6c 65 64 20 |tion is |nestled |
|00000850| 61 74 20 74 68 65 20 74 | 61 69 6c 20 65 6e 64 20 |at the t|ail end |
|00000860| 6f 66 20 43 75 72 41 70 | 4e 61 6d 65 2e 0d 2f 2f |of CurAp|Name..//|
|00000870| 20 49 74 20 63 6f 6e 73 | 69 73 74 73 20 6f 66 20 | It cons|ists of |
|00000880| 61 20 73 68 6f 72 74 20 | 77 68 69 63 68 20 65 6e |a short |which en|
|00000890| 63 6f 64 65 73 20 74 68 | 65 20 6e 65 78 74 20 68 |codes th|e next h|
|000008a0| 6f 72 69 7a 6f 6e 74 61 | 6c 20 6f 66 66 73 65 74 |orizonta|l offset|
|000008b0| 2c 0d 2f 2f 20 61 6e 64 | 20 61 6e 6f 74 68 65 72 |,.// and| another|
|000008c0| 20 73 68 6f 72 74 20 77 | 68 69 63 68 20 69 73 20 | short w|hich is |
|000008d0| 74 68 61 74 20 76 61 6c | 75 65 20 63 68 65 63 6b |that val|ue check|
|000008e0| 73 75 6d 6d 65 64 2e 0d | 65 78 74 65 72 6e 20 20 |summed..|extern |
|000008f0| 73 68 6f 72 74 20 20 67 | 43 75 72 72 58 09 09 3a |short g|CurrX..:|
|00000900| 20 30 78 39 32 43 3b 09 | 09 09 2f 2f 20 43 75 72 | 0x92C;.|..// Cur|
|00000910| 41 70 4e 61 6d 65 20 2b | 20 32 38 0d 65 78 74 65 |ApName +| 28.exte|
|00000920| 72 6e 20 20 73 68 6f 72 | 74 20 20 67 54 68 65 43 |rn shor|t gTheC|
|00000930| 68 65 63 6b 53 75 6d 09 | 3a 20 30 78 39 32 45 3b |heckSum.|: 0x92E;|
|00000940| 09 09 09 2f 2f 20 43 75 | 72 41 70 4e 61 6d 65 20 |...// Cu|rApName |
|00000950| 2b 20 33 30 0d 0d 0d 0d | 0d 0d 2f 2f 3d 3d 3d 3d |+ 30....|..//====|
|00000960| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000970| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000980| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000990| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000009a0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 0d 2f 2f 09 09 50 72 |========|=.//..Pr|
|000009b0| 69 76 61 74 65 20 64 65 | 66 69 6e 65 73 09 09 09 |ivate de|fines...|
|000009c0| 09 09 09 09 09 09 09 09 | 09 09 09 09 09 09 20 0d |........|...... .|
|000009d0| 2f 2f 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |//------|--------|
|000009e0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000009f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000a00| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000a10| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 0d |--------|-------.|
|00000a20| 23 64 65 66 69 6e 65 20 | 6b 43 68 65 63 6b 53 75 |#define |kCheckSu|
|00000a30| 6d 43 6f 6e 73 74 09 09 | 30 78 31 30 32 31 09 09 |mConst..|0x1021..|
|00000a40| 09 2f 2f 20 43 68 65 63 | 6b 2d 73 75 6d 20 63 6f |.// Chec|k-sum co|
|00000a50| 6e 73 74 61 6e 74 0d 23 | 64 65 66 69 6e 65 20 6b |nstant.#|define k|
|00000a60| 49 6e 69 74 69 61 6c 58 | 50 6f 73 69 74 69 6f 6e |InitialX|Position|
|00000a70| 09 38 09 09 09 09 2f 2f | 20 46 69 72 73 74 20 68 |.8....//| First h|
|00000a80| 6f 72 69 7a 6f 6e 74 61 | 6c 20 70 6f 73 69 74 69 |orizonta|l positi|
|00000a90| 6f 6e 0d 23 64 65 66 69 | 6e 65 20 6b 59 4f 66 66 |on.#defi|ne kYOff|
|00000aa0| 73 65 74 09 09 09 34 30 | 09 09 09 09 2f 2f 20 41 |set...40|....// A|
|00000ab0| 6d 6f 75 6e 74 20 69 63 | 6f 6e 73 20 61 64 76 61 |mount ic|ons adva|
|00000ac0| 6e 63 65 20 62 79 20 76 | 65 72 74 69 63 61 6c 6c |nce by v|erticall|
|00000ad0| 79 0d 23 64 65 66 69 6e | 65 20 6b 58 4f 66 66 73 |y.#defin|e kXOffs|
|00000ae0| 65 74 09 09 09 34 30 09 | 09 09 09 2f 2f 20 41 6d |et...40.|...// Am|
|00000af0| 6f 75 6e 74 20 69 63 6f | 6e 73 20 61 64 76 61 6e |ount ico|ns advan|
|00000b00| 63 65 20 62 79 20 68 6f | 72 69 7a 6f 6e 74 61 6c |ce by ho|rizontal|
|00000b10| 6c 79 0d 23 64 65 66 69 | 6e 65 20 6b 49 63 6f 6e |ly.#defi|ne kIcon|
|00000b20| 44 69 6d 65 6e 73 69 6f | 6e 09 09 33 32 09 09 09 |Dimensio|n..32...|
|00000b30| 09 2f 2f 20 57 69 64 74 | 68 2f 48 65 69 67 68 74 |.// Widt|h/Height|
|00000b40| 20 6f 66 20 61 6e 20 69 | 63 6f 6e 0d 0d 0d 0d 0d | of an i|con.....|
|00000b50| 0d 0d 0d 0d 0d 0d 2f 2f | 3d 3d 3d 3d 3d 3d 3d 3d |......//|========|
|00000b60| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000b70| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000b80| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000b90| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000ba0| 3d 3d 3d 3d 3d 0d 2f 2f | 09 09 50 6c 6f 74 49 4e |=====.//|..PlotIN|
|00000bb0| 49 54 49 63 6f 6e 20 3a | 20 50 6c 6f 74 20 61 20 |ITIcon :| Plot a |
|00000bc0| 73 65 72 69 65 73 20 6f | 66 20 69 63 6f 6e 73 20 |series o|f icons |
|00000bd0| 6f 6e 20 74 68 65 20 73 | 63 72 65 65 6e 2e 09 09 |on the s|creen...|
|00000be0| 09 09 09 09 09 09 09 09 | 09 09 09 09 09 09 20 0d |........|...... .|
|00000bf0| 2f 2f 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |//------|--------|
|00000c00| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000c10| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000c20| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000c30| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 0d |--------|-------.|
|00000c40| 2f 2f 09 09 4e 6f 74 65 | 20 3a 09 57 65 20 61 72 |//..Note| :.We ar|
|00000c50| 65 20 70 61 73 73 65 64 | 20 61 6e 20 61 72 72 61 |e passed| an arra|
|00000c60| 79 20 6f 66 20 69 63 6f | 6e 20 72 65 73 6f 75 72 |y of ico|n resour|
|00000c70| 63 65 20 49 44 73 2c 20 | 74 68 65 20 6e 75 6d 62 |ce IDs, |the numb|
|00000c80| 65 72 20 6f 66 0d 2f 2f | 09 09 09 09 76 61 6c 69 |er of.//|....vali|
|00000c90| 64 20 49 44 73 20 74 68 | 65 72 65 20 61 72 65 20 |d IDs th|ere are |
|00000ca0| 69 6e 20 74 68 65 20 61 | 72 72 61 79 2c 20 74 68 |in the a|rray, th|
|00000cb0| 65 20 6e 75 6d 62 65 72 | 20 6f 66 20 74 69 63 6b |e number| of tick|
|00000cc0| 73 20 74 6f 20 77 61 69 | 74 0d 2f 2f 09 09 09 09 |s to wai|t.//....|
|00000cd0| 62 65 74 77 65 65 6e 20 | 73 68 6f 77 69 6e 67 20 |between |showing |
|00000ce0| 65 61 63 68 20 69 63 6f | 6e 2c 20 61 6e 64 20 61 |each ico|n, and a|
|00000cf0| 20 73 74 61 74 75 73 20 | 66 6c 61 67 20 66 6f 72 | status |flag for|
|00000d00| 20 74 68 65 20 70 72 65 | 73 65 6e 63 65 0d 2f 2f | the pre|sence.//|
|00000d10| 09 09 09 09 6f 66 20 53 | 79 73 74 65 6d 20 37 2e |....of S|ystem 7.|
|00000d20| 0d 2f 2f 0d 2f 2f 09 09 | 09 09 55 73 75 61 6c 6c |.//.//..|..Usuall|
|00000d30| 79 20 45 78 74 65 6e 73 | 69 6f 6e 73 20 77 69 6c |y Extens|ions wil|
|00000d40| 6c 20 70 61 73 73 20 69 | 6e 20 6f 6e 6c 79 20 6f |l pass i|n only o|
|00000d50| 6e 65 20 69 63 6f 6e 2c | 20 62 75 74 20 74 68 69 |ne icon,| but thi|
|00000d60| 73 20 61 6c 6c 6f 77 73 | 0d 2f 2f 09 09 09 09 75 |s allows|.//....u|
|00000d70| 73 20 74 6f 20 73 75 70 | 70 6f 72 74 20 61 6e 69 |s to sup|port ani|
|00000d80| 6d 61 74 65 64 20 69 63 | 6f 6e 73 20 61 73 20 77 |mated ic|ons as w|
|00000d90| 65 6c 6c 2e 0d 2f 2f 0d | 2f 2f 09 09 09 09 57 65 |ell..//.|//....We|
|00000da0| 20 75 73 65 20 53 79 73 | 74 65 6d 20 37 27 73 20 | use Sys|tem 7's |
|00000db0| 49 63 6f 6e 53 75 69 74 | 65 20 72 6f 75 74 69 6e |IconSuit|e routin|
|00000dc0| 65 73 20 74 6f 20 70 6c | 6f 74 20 74 68 65 20 69 |es to pl|ot the i|
|00000dd0| 63 6f 6e 73 2e 20 54 68 | 65 73 65 0d 2f 2f 09 09 |cons. Th|ese.//..|
|00000de0| 09 09 6c 6f 6f 6b 20 61 | 66 74 65 72 20 61 6c 6c |..look a|fter all|
|00000df0| 20 74 68 65 20 64 65 74 | 61 69 6c 73 20 6f 66 20 | the det|ails of |
|00000e00| 64 65 63 69 64 69 6e 67 | 20 77 68 61 74 20 69 63 |deciding| what ic|
|00000e10| 6f 6e 20 74 6f 20 75 73 | 65 2c 0d 2f 2f 09 09 09 |on to us|e,.//...|
|00000e20| 09 64 65 70 65 6e 64 69 | 6e 67 20 6f 6e 20 74 68 |.dependi|ng on th|
|00000e30| 65 20 64 65 70 74 68 20 | 6f 66 20 74 68 65 20 64 |e depth |of the d|
|00000e40| 69 73 70 6c 61 79 2e 20 | 54 68 65 79 20 61 6c 73 |isplay. |They als|
|00000e50| 6f 20 77 6f 72 6b 20 75 | 73 69 6e 67 0d 2f 2f 09 |o work u|sing.//.|
|00000e60| 09 09 09 74 68 65 20 73 | 61 6d 65 20 69 63 6f 6e |...the s|ame icon|
|00000e70| 20 66 61 6d 69 6c 69 65 | 73 20 74 68 61 74 20 74 | familie|s that t|
|00000e80| 68 65 20 46 69 6e 64 65 | 72 20 75 73 65 73 2c 20 |he Finde|r uses, |
|00000e90| 77 68 69 63 68 20 6d 65 | 61 6e 73 0d 2f 2f 09 09 |which me|ans.//..|
|00000ea0| 09 09 74 68 65 72 65 27 | 73 20 6e 6f 20 6e 65 65 |..there'|s no nee|
|00000eb0| 64 20 66 6f 72 20 61 20 | 27 63 69 63 6e 27 20 76 |d for a |'cicn' v|
|00000ec0| 65 72 73 69 6f 6e 2e 0d | 2f 2f 0d 2f 2f 09 09 09 |ersion..|//.//...|
|00000ed0| 09 49 66 20 77 65 20 64 | 6f 6e 27 74 20 68 61 76 |.If we d|on't hav|
|00000ee0| 65 20 53 79 73 74 65 6d | 20 37 2c 20 77 65 20 64 |e System| 7, we d|
|00000ef0| 6f 6e 27 74 20 68 61 76 | 65 20 61 63 63 65 73 73 |on't hav|e access|
|00000f00| 20 74 6f 20 74 68 65 0d | 2f 2f 09 09 09 09 49 63 | to the.|//....Ic|
|00000f10| 6f 6e 53 75 69 74 65 20 | 72 6f 75 74 69 6e 65 73 |onSuite |routines|
|00000f20| 2c 20 61 6e 64 20 73 6f | 20 68 61 76 65 20 74 6f |, and so| have to|
|00000f30| 20 72 65 73 6f 72 74 20 | 74 6f 20 70 6c 6f 74 74 | resort |to plott|
|00000f40| 69 6e 67 20 27 49 43 4e | 23 27 0d 2f 2f 09 09 09 |ing 'ICN|#'.//...|
|00000f50| 09 72 65 73 6f 75 72 63 | 65 73 2e 0d 2f 2f 2d 2d |.resourc|es..//--|
|00000f60| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000f70| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000f80| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000f90| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000fa0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 0d 76 6f 69 64 |--------|---.void|
|00000fb0| 20 50 6c 6f 74 49 4e 49 | 54 49 63 6f 6e 28 42 6f | PlotINI|TIcon(Bo|
|00000fc0| 6f 6c 65 61 6e 20 68 61 | 76 65 53 79 73 37 2c 20 |olean ha|veSys7, |
|00000fd0| 69 6e 74 20 61 6e 69 6d | 44 65 6c 61 79 2c 20 69 |int anim|Delay, i|
|00000fe0| 6e 74 20 6e 75 6d 49 63 | 6f 6e 73 2c 20 69 6e 74 |nt numIc|ons, int|
|00000ff0| 20 28 2a 74 68 65 49 63 | 6f 6e 73 29 5b 5d 29 0d | (*theIc|ons)[]).|
|00001000| 7b 09 43 47 72 61 66 50 | 74 72 09 6f 6c 64 50 6f |{.CGrafP|tr.oldPo|
|00001010| 72 74 3b 0d 09 47 72 61 | 66 50 6f 72 74 09 6e 65 |rt;..Gra|fPort.ne|
|00001020| 77 50 6f 72 74 3b 0d 09 | 48 61 6e 64 6c 65 09 09 |wPort;..|Handle..|
|00001030| 74 68 65 49 63 6f 6e 48 | 6e 64 73 5b 6b 4d 61 78 |theIconH|nds[kMax|
|00001040| 4e 75 6d 49 63 6f 6e 73 | 2b 31 5d 3b 0d 09 52 65 |NumIcons|+1];..Re|
|00001050| 63 74 20 09 09 74 68 65 | 49 63 6f 6e 50 6f 73 3b |ct ..the|IconPos;|
|00001060| 0d 09 6c 6f 6e 67 09 09 | 74 68 65 54 69 63 6b 73 |..long..|theTicks|
|00001070| 3b 0d 09 69 6e 74 09 09 | 09 69 3b 0d 0d 0d 0d 0d |;..int..|.i;.....|
|00001080| 09 2f 2f 20 53 61 76 65 | 20 74 68 65 20 70 6f 72 |.// Save| the por|
|00001090| 74 2c 20 61 6e 64 20 6f | 70 65 6e 20 61 20 6e 65 |t, and o|pen a ne|
|000010a0| 77 20 6f 6e 65 0d 09 47 | 65 74 50 6f 72 74 28 26 |w one..G|etPort(&|
|000010b0| 6f 6c 64 50 6f 72 74 29 | 3b 0d 09 4f 70 65 6e 43 |oldPort)|;..OpenC|
|000010c0| 50 6f 72 74 28 26 6e 65 | 77 50 6f 72 74 29 3b 0d |Port(&ne|wPort);.|
|000010d0| 09 53 65 74 50 6f 72 74 | 28 26 6e 65 77 50 6f 72 |.SetPort|(&newPor|
|000010e0| 74 29 3b 0d 0d 0d 0d 09 | 2f 2f 20 57 6f 72 6b 20 |t);.....|// Work |
|000010f0| 6f 75 74 20 77 68 65 72 | 65 20 77 65 20 73 68 6f |out wher|e we sho|
|00001100| 75 6c 64 20 64 72 61 77 | 20 74 68 65 20 69 63 6f |uld draw| the ico|
|00001110| 6e 0d 09 47 65 74 49 63 | 6f 6e 52 65 63 74 28 26 |n..GetIc|onRect(&|
|00001120| 74 68 65 49 63 6f 6e 50 | 6f 73 2c 20 26 6e 65 77 |theIconP|os, &new|
|00001130| 50 6f 72 74 2e 70 6f 72 | 74 52 65 63 74 29 3b 0d |Port.por|tRect);.|
|00001140| 0d 0d 0d 09 2f 2f 20 52 | 65 61 64 20 69 6e 20 68 |....// R|ead in h|
|00001150| 61 6e 64 6c 65 73 20 74 | 6f 20 61 73 20 6d 61 6e |andles t|o as man|
|00001160| 79 20 69 63 6f 6e 73 20 | 61 73 20 77 65 20 68 61 |y icons |as we ha|
|00001170| 76 65 20 74 6f 2f 63 61 | 6e 2e 20 49 66 20 77 65 |ve to/ca|n. If we|
|00001180| 20 47 65 74 2f 50 6c 6f | 74 2f 44 69 73 70 6f 73 | Get/Plo|t/Dispos|
|00001190| 65 0d 09 2f 2f 20 6f 66 | 20 65 61 63 68 20 69 63 |e..// of| each ic|
|000011a0| 6f 6e 20 69 6e 20 74 75 | 72 6e 2c 20 77 65 20 63 |on in tu|rn, we c|
|000011b0| 61 6e 20 67 65 74 20 6a | 65 72 6b 79 20 61 6e 69 |an get j|erky ani|
|000011c0| 6d 61 74 69 6f 6e 2e 0d | 09 66 6f 72 20 28 69 20 |mation..|.for (i |
|000011d0| 3d 20 31 3b 20 69 20 3c | 3d 20 6e 75 6d 49 63 6f |= 1; i <|= numIco|
|000011e0| 6e 73 20 26 26 20 69 20 | 3c 3d 20 6b 4d 61 78 4e |ns && i |<= kMaxN|
|000011f0| 75 6d 49 63 6f 6e 73 3b | 20 69 2b 2b 29 0d 09 09 |umIcons;| i++)...|
|00001200| 7b 0d 09 09 69 66 20 28 | 68 61 76 65 53 79 73 37 |{...if (|haveSys7|
|00001210| 29 0d 09 09 09 47 65 74 | 49 63 6f 6e 53 75 69 74 |)....Get|IconSuit|
|00001220| 65 28 26 74 68 65 49 63 | 6f 6e 48 6e 64 73 5b 69 |e(&theIc|onHnds[i|
|00001230| 5d 2c 20 28 2a 74 68 65 | 49 63 6f 6e 73 29 5b 69 |], (*the|Icons)[i|
|00001240| 5d 2c 20 73 76 41 6c 6c | 4c 61 72 67 65 44 61 74 |], svAll|LargeDat|
|00001250| 61 29 3b 0d 09 09 65 6c | 73 65 0d 09 09 09 74 68 |a);...el|se....th|
|00001260| 65 49 63 6f 6e 48 6e 64 | 73 5b 69 5d 20 3d 20 47 |eIconHnd|s[i] = G|
|00001270| 65 74 52 65 73 6f 75 72 | 63 65 28 27 49 43 4e 23 |etResour|ce('ICN#|
|00001280| 27 2c 20 28 2a 74 68 65 | 49 63 6f 6e 73 29 5b 69 |', (*the|Icons)[i|
|00001290| 5d 29 3b 0d 09 09 7d 0d | 09 0d 09 09 0d 0d 09 2f |]);...}.|......./|
|000012a0| 2f 20 50 6c 6f 74 20 61 | 6c 6c 20 74 68 65 20 69 |/ Plot a|ll the i|
|000012b0| 63 6f 6e 73 2c 20 77 69 | 74 68 20 74 68 65 20 72 |cons, wi|th the r|
|000012c0| 69 67 68 74 20 64 65 6c | 61 79 0d 09 66 6f 72 20 |ight del|ay..for |
|000012d0| 28 69 20 3d 20 31 3b 20 | 69 20 3c 3d 20 6e 75 6d |(i = 1; |i <= num|
|000012e0| 49 63 6f 6e 73 20 26 26 | 20 69 20 3c 3d 20 6b 4d |Icons &&| i <= kM|
|000012f0| 61 78 4e 75 6d 49 63 6f | 6e 73 3b 20 69 2b 2b 29 |axNumIco|ns; i++)|
|00001300| 0d 09 09 7b 0d 09 09 69 | 66 20 28 68 61 76 65 53 |...{...i|f (haveS|
|00001310| 79 73 37 29 0d 09 09 09 | 50 6c 6f 74 49 63 6f 6e |ys7)....|PlotIcon|
|00001320| 53 75 69 74 65 28 26 74 | 68 65 49 63 6f 6e 50 6f |Suite(&t|heIconPo|
|00001330| 73 2c 20 61 74 4e 6f 6e | 65 2c 20 74 74 4e 6f 6e |s, atNon|e, ttNon|
|00001340| 65 2c 20 74 68 65 49 63 | 6f 6e 48 6e 64 73 5b 69 |e, theIc|onHnds[i|
|00001350| 5d 29 3b 0d 09 09 65 6c | 73 65 0d 09 09 09 50 6c |]);...el|se....Pl|
|00001360| 6f 74 42 57 49 63 6f 6e | 28 26 74 68 65 49 63 6f |otBWIcon|(&theIco|
|00001370| 6e 50 6f 73 2c 20 74 68 | 65 49 63 6f 6e 48 6e 64 |nPos, th|eIconHnd|
|00001380| 73 5b 69 5d 29 3b 0d 09 | 09 44 65 6c 61 79 28 61 |s[i]);..|.Delay(a|
|00001390| 6e 69 6d 44 65 6c 61 79 | 2c 20 26 74 68 65 54 69 |nimDelay|, &theTi|
|000013a0| 63 6b 73 29 3b 0d 09 09 | 7d 0d 09 0d 09 0d 09 0d |cks);...|}.......|
|000013b0| 09 2f 2f 20 42 65 66 6f | 72 65 20 72 65 6c 65 61 |.// Befo|re relea|
|000013c0| 73 69 6e 67 20 74 68 65 | 6d 20 61 67 61 69 6e 0d |sing the|m again.|
|000013d0| 09 66 6f 72 20 28 69 20 | 3d 20 31 3b 20 69 20 3c |.for (i |= 1; i <|
|000013e0| 3d 20 6e 75 6d 49 63 6f | 6e 73 20 26 26 20 69 20 |= numIco|ns && i |
|000013f0| 3c 3d 20 6b 4d 61 78 4e | 75 6d 49 63 6f 6e 73 3b |<= kMaxN|umIcons;|
|00001400| 20 69 2b 2b 29 0d 09 09 | 7b 0d 09 09 69 66 20 28 | i++)...|{...if (|
|00001410| 68 61 76 65 53 79 73 37 | 29 0d 09 09 09 44 69 73 |haveSys7|)....Dis|
|00001420| 70 6f 73 65 49 63 6f 6e | 53 75 69 74 65 28 74 68 |poseIcon|Suite(th|
|00001430| 65 49 63 6f 6e 48 6e 64 | 73 5b 69 5d 2c 20 74 72 |eIconHnd|s[i], tr|
|00001440| 75 65 29 3b 0d 09 09 65 | 6c 73 65 0d 09 09 09 52 |ue);...e|lse....R|
|00001450| 65 6c 65 61 73 65 52 65 | 73 6f 75 72 63 65 28 74 |eleaseRe|source(t|
|00001460| 68 65 49 63 6f 6e 48 6e | 64 73 5b 69 5d 29 3b 0d |heIconHn|ds[i]);.|
|00001470| 09 09 7d 0d 0d 0d 09 0d | 09 2f 2f 20 53 65 74 20 |..}.....|.// Set |
|00001480| 74 68 69 6e 67 73 20 75 | 70 20 66 6f 72 20 74 68 |things u|p for th|
|00001490| 65 20 6e 65 78 74 20 49 | 4e 49 54 27 73 20 69 63 |e next I|NIT's ic|
|000014a0| 6f 6e 20 2d 20 62 75 74 | 20 6f 6e 6c 79 20 69 66 |on - but| only if|
|000014b0| 20 77 65 0d 09 2f 2f 20 | 61 63 74 75 61 6c 6c 79 | we..// |actually|
|000014c0| 20 73 68 6f 77 65 64 20 | 61 6e 79 74 68 69 6e 67 | showed |anything|
|000014d0| 0d 09 69 66 20 28 6e 75 | 6d 49 63 6f 6e 73 20 3e |..if (nu|mIcons >|
|000014e0| 20 30 29 0d 09 09 4e 65 | 78 74 50 6f 73 69 74 69 | 0)...Ne|xtPositi|
|000014f0| 6f 6e 28 29 3b 0d 0d 0d | 0d 09 2f 2f 20 44 69 73 |on();...|..// Dis|
|00001500| 70 6f 73 65 20 6f 66 20 | 6f 75 72 20 74 65 6d 70 |pose of |our temp|
|00001510| 6f 72 61 72 79 20 70 6f | 72 74 2c 20 61 6e 64 20 |orary po|rt, and |
|00001520| 72 65 73 74 6f 72 65 20 | 74 68 65 20 6f 6c 64 20 |restore |the old |
|00001530| 6f 6e 65 0d 09 43 6c 6f | 73 65 43 50 6f 72 74 28 |one..Clo|seCPort(|
|00001540| 26 6e 65 77 50 6f 72 74 | 29 3b 0d 09 53 65 74 50 |&newPort|);..SetP|
|00001550| 6f 72 74 28 6f 6c 64 50 | 6f 72 74 29 3b 0d 7d 0d |ort(oldP|ort);.}.|
|00001560| 0d 0d 0d 0d 0d 0d 0d 0d | 0d 0d 2f 2f 3d 3d 3d 3d |........|..//====|
|00001570| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001580| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001590| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000015a0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000015b0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 0d 2f 2f 09 09 47 65 |========|=.//..Ge|
|000015c0| 74 49 63 6f 6e 52 65 63 | 74 20 3a 20 43 61 6c 63 |tIconRec|t : Calc|
|000015d0| 75 6c 61 74 65 20 74 68 | 65 20 63 6f 72 72 65 63 |ulate th|e correc|
|000015e0| 74 20 70 6f 73 69 74 69 | 6f 6e 20 66 6f 72 20 6f |t positi|on for o|
|000015f0| 75 72 20 49 4e 49 54 27 | 73 20 69 63 6f 6e 2e 09 |ur INIT'|s icon..|
|00001600| 09 09 09 09 09 09 09 09 | 09 09 09 09 09 09 09 20 |........|....... |
|00001610| 0d 2f 2f 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |.//-----|--------|
|00001620| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001630| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001640| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001650| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001660| 0d 2f 2f 09 09 4e 6f 74 | 65 20 3a 09 57 65 20 6c |.//..Not|e :.We l|
|00001670| 65 61 76 65 20 74 68 65 | 20 63 6f 72 72 65 63 74 |eave the| correct|
|00001680| 20 70 6f 73 69 74 69 6f | 6e 20 69 6e 20 74 68 65 | positio|n in the|
|00001690| 52 65 63 74 2e 20 57 65 | 20 61 72 65 20 67 69 76 |Rect. We| are giv|
|000016a0| 65 6e 20 74 68 65 0d 2f | 2f 09 09 09 09 70 6f 72 |en the./|/....por|
|000016b0| 74 52 65 63 74 20 66 69 | 65 6c 64 20 6f 66 20 74 |tRect fi|eld of t|
|000016c0| 68 65 20 63 75 72 72 65 | 6e 74 20 67 72 61 70 68 |he curre|nt graph|
|000016d0| 69 63 73 20 70 6f 72 74 | 20 69 6e 20 74 68 65 50 |ics port| in theP|
|000016e0| 6f 72 74 52 65 63 74 2e | 0d 2f 2f 0d 2f 2f 09 09 |ortRect.|.//.//..|
|000016f0| 09 09 2a 74 68 65 52 65 | 63 74 20 69 73 20 66 6f |..*theRe|ct is fo|
|00001700| 72 63 65 64 20 74 6f 20 | 62 65 20 6f 6e 73 63 72 |rced to |be onscr|
|00001710| 65 65 6e 2e 20 54 68 69 | 73 20 69 73 20 64 6f 6e |een. Thi|s is don|
|00001720| 65 20 62 79 20 74 61 6b | 69 6e 67 0d 2f 2f 09 09 |e by tak|ing.//..|
|00001730| 09 09 74 68 65 20 68 6f | 72 69 7a 6f 6e 74 61 6c |..the ho|rizontal|
|00001740| 20 6f 66 66 73 65 74 20 | 6d 6f 64 75 6c 6f 20 74 | offset |modulo t|
|00001750| 68 65 20 73 63 72 65 65 | 6e 20 77 69 64 74 68 20 |he scree|n width |
|00001760| 74 6f 20 67 65 6e 65 72 | 61 74 65 20 74 68 65 0d |to gener|ate the.|
|00001770| 2f 2f 09 09 09 09 68 6f | 72 69 7a 6f 6e 74 61 6c |//....ho|rizontal|
|00001780| 20 70 6f 73 69 74 69 6f | 6e 20 6f 66 20 74 68 65 | positio|n of the|
|00001790| 20 69 63 6f 6e 2c 20 61 | 6e 64 20 74 68 65 20 6f | icon, a|nd the o|
|000017a0| 66 66 73 65 74 20 64 69 | 76 69 64 65 64 20 62 79 |ffset di|vided by|
|000017b0| 20 74 68 65 0d 2f 2f 09 | 09 09 09 73 63 72 65 65 | the.//.|...scree|
|000017c0| 6e 20 77 69 64 74 68 20 | 74 6f 20 67 65 6e 65 72 |n width |to gener|
|000017d0| 61 74 65 20 74 68 65 20 | 70 72 6f 70 65 72 20 72 |ate the |proper r|
|000017e0| 6f 77 2e 20 54 68 69 73 | 20 6d 65 63 68 61 6e 69 |ow. This| mechani|
|000017f0| 73 6d 20 63 61 6e 20 67 | 65 74 0d 2f 2f 09 09 09 |sm can g|et.//...|
|00001800| 09 6d 65 73 73 65 64 20 | 75 70 20 69 66 20 70 65 |.messed |up if pe|
|00001810| 6f 70 6c 65 20 70 6c 6f | 74 20 69 63 6f 6e 73 20 |ople plo|t icons |
|00001820| 61 74 20 6e 6f 6e 2d 73 | 74 61 6e 64 61 72 64 20 |at non-s|tandard |
|00001830| 6f 66 66 73 65 74 73 2e | 0d 2f 2f 0d 2f 2f 09 09 |offsets.|.//.//..|
|00001840| 09 09 57 65 20 61 72 65 | 20 61 6c 73 6f 20 72 65 |..We are| also re|
|00001850| 73 70 6f 6e 73 69 62 6c | 65 20 66 6f 72 20 69 6e |sponsibl|e for in|
|00001860| 69 74 69 61 6c 69 73 69 | 6e 67 20 74 68 65 20 53 |itialisi|ng the S|
|00001870| 68 6f 77 49 6e 69 74 49 | 63 6f 6e 0d 2f 2f 09 09 |howInitI|con.//..|
|00001880| 09 09 6d 65 63 68 61 6e | 69 73 6d 20 69 66 20 77 |..mechan|ism if w|
|00001890| 65 27 72 65 20 74 68 65 | 20 66 69 72 73 74 20 49 |e're the| first I|
|000018a0| 4e 49 54 20 74 6f 20 6c | 6f 61 64 2e 0d 2f 2f 2d |NIT to l|oad..//-|
|000018b0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000018c0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000018d0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000018e0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000018f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 0d 76 6f 69 |--------|----.voi|
|00001900| 64 20 47 65 74 49 63 6f | 6e 52 65 63 74 28 52 65 |d GetIco|nRect(Re|
|00001910| 63 74 20 2a 74 68 65 52 | 65 63 74 2c 20 52 65 63 |ct *theR|ect, Rec|
|00001920| 74 20 2a 74 68 65 50 6f | 72 74 52 65 63 74 29 0d |t *thePo|rtRect).|
|00001930| 7b 09 73 68 6f 72 74 09 | 73 63 72 65 65 6e 57 69 |{.short.|screenWi|
|00001940| 64 3b 0d 0d 0d 0d 0d 09 | 2f 2f 20 49 66 20 77 65 |d;......|// If we|
|00001950| 27 72 65 20 74 68 65 20 | 66 69 72 73 74 20 49 4e |'re the |first IN|
|00001960| 49 54 20 74 6f 20 72 75 | 6e 20 77 65 20 6e 65 65 |IT to ru|n we nee|
|00001970| 64 20 74 6f 20 69 6e 69 | 74 69 61 6c 69 7a 65 20 |d to ini|tialize |
|00001980| 74 68 65 20 68 6f 72 69 | 7a 6f 6e 74 61 6c 20 76 |the hori|zontal v|
|00001990| 61 6c 75 65 0d 09 69 66 | 20 28 28 28 67 43 75 72 |alue..if| (((gCur|
|000019a0| 72 58 20 3c 3c 20 31 29 | 20 5e 20 6b 43 68 65 63 |rX << 1)| ^ kChec|
|000019b0| 6b 53 75 6d 43 6f 6e 73 | 74 29 20 21 3d 20 67 54 |kSumCons|t) != gT|
|000019c0| 68 65 43 68 65 63 6b 53 | 75 6d 29 0d 09 09 67 43 |heCheckS|um)...gC|
|000019d0| 75 72 72 58 20 3d 20 6b | 49 6e 69 74 69 61 6c 58 |urrX = k|InitialX|
|000019e0| 50 6f 73 69 74 69 6f 6e | 3b 0d 0d 0d 0d 09 2f 2f |Position|;.....//|
|000019f0| 20 47 65 74 20 74 68 65 | 20 77 69 64 74 68 20 6f | Get the| width o|
|00001a00| 66 20 74 68 65 20 73 63 | 72 65 65 6e 2c 20 6d 61 |f the sc|reen, ma|
|00001a10| 6b 69 6e 67 20 73 75 72 | 65 20 77 65 20 64 6f 6e |king sur|e we don|
|00001a20| 27 74 20 72 75 6e 20 6f | 66 66 20 74 68 65 20 65 |'t run o|ff the e|
|00001a30| 64 67 65 0d 09 73 63 72 | 65 65 6e 57 69 64 20 20 |dge..scr|eenWid |
|00001a40| 3d 20 74 68 65 50 6f 72 | 74 52 65 63 74 2d 3e 72 |= thePor|tRect->r|
|00001a50| 69 67 68 74 20 2d 20 74 | 68 65 50 6f 72 74 52 65 |ight - t|hePortRe|
|00001a60| 63 74 2d 3e 6c 65 66 74 | 3b 0d 09 73 63 72 65 65 |ct->left|;..scree|
|00001a70| 6e 57 69 64 20 2d 3d 20 | 73 63 72 65 65 6e 57 69 |nWid -= |screenWi|
|00001a80| 64 20 25 20 6b 58 4f 66 | 66 73 65 74 3b 0d 09 0d |d % kXOf|fset;...|
|00001a90| 09 0d 09 0d 09 2f 2f 20 | 57 6f 72 6b 20 6f 75 74 |.....// |Work out|
|00001aa0| 20 77 68 65 72 65 20 74 | 68 65 20 72 65 63 74 61 | where t|he recta|
|00001ab0| 6e 67 6c 65 20 69 73 20 | 67 6f 69 6e 67 20 74 6f |ngle is |going to|
|00001ac0| 20 62 65 0d 09 74 68 65 | 52 65 63 74 2d 3e 6c 65 | be..the|Rect->le|
|00001ad0| 66 74 09 3d 20 28 67 43 | 75 72 72 58 20 25 20 73 |ft.= (gC|urrX % s|
|00001ae0| 63 72 65 65 6e 57 69 64 | 29 3b 0d 09 74 68 65 52 |creenWid|);..theR|
|00001af0| 65 63 74 2d 3e 72 69 67 | 68 74 09 3d 20 74 68 65 |ect->rig|ht.= the|
|00001b00| 52 65 63 74 2d 3e 6c 65 | 66 74 20 2b 20 6b 49 63 |Rect->le|ft + kIc|
|00001b10| 6f 6e 44 69 6d 65 6e 73 | 69 6f 6e 3b 0d 09 74 68 |onDimens|ion;..th|
|00001b20| 65 52 65 63 74 2d 3e 74 | 6f 70 09 3d 20 74 68 65 |eRect->t|op.= the|
|00001b30| 50 6f 72 74 52 65 63 74 | 2d 3e 62 6f 74 74 6f 6d |PortRect|->bottom|
|00001b40| 20 2d 20 28 6b 59 4f 66 | 66 73 65 74 20 2a 20 28 | - (kYOf|fset * (|
|00001b50| 31 20 2b 20 67 43 75 72 | 72 58 20 2f 20 73 63 72 |1 + gCur|rX / scr|
|00001b60| 65 65 6e 57 69 64 29 29 | 3b 0d 09 74 68 65 52 65 |eenWid))|;..theRe|
|00001b70| 63 74 2d 3e 62 6f 74 74 | 6f 6d 09 3d 20 74 68 65 |ct->bott|om.= the|
|00001b80| 52 65 63 74 2d 3e 74 6f | 70 20 20 2b 20 6b 49 63 |Rect->to|p + kIc|
|00001b90| 6f 6e 44 69 6d 65 6e 73 | 69 6f 6e 3b 0d 7d 0d 0d |onDimens|ion;.}..|
|00001ba0| 0d 0d 0d 0d 0d 0d 0d 0d | 0d 2f 2f 3d 3d 3d 3d 3d |........|.//=====|
|00001bb0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001bc0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001bd0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001be0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001bf0| 3d 3d 3d 3d 3d 3d 3d 3d | 0d 2f 2f 09 09 4e 65 78 |========|.//..Nex|
|00001c00| 74 50 6f 73 69 74 69 6f | 6e 20 3a 20 41 64 76 61 |tPositio|n : Adva|
|00001c10| 6e 63 65 20 74 68 65 20 | 53 68 6f 77 49 63 6f 6e |nce the |ShowIcon|
|00001c20| 20 70 6f 73 69 74 69 6f | 6e 20 66 6f 72 20 74 68 | positio|n for th|
|00001c30| 65 20 6e 65 78 74 20 49 | 4e 49 54 2e 09 09 09 09 |e next I|NIT.....|
|00001c40| 09 09 09 09 09 09 09 09 | 09 09 09 09 20 0d 2f 2f |........|.... .//|
|00001c50| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001c60| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001c70| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001c80| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001c90| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 0d 2f 2f |--------|-----.//|
|00001ca0| 09 09 4e 6f 74 65 20 3a | 09 49 6e 20 50 61 74 72 |..Note :|.In Patr|
|00001cb0| 69 63 6b 20 42 65 61 72 | 64 27 73 20 6f 72 69 67 |ick Bear|d's orig|
|00001cc0| 69 6e 61 6c 20 76 65 72 | 73 69 6f 6e 2c 20 74 68 |inal ver|sion, th|
|00001cd0| 69 73 20 77 61 73 20 64 | 6f 6e 65 20 61 74 20 74 |is was d|one at t|
|00001ce0| 68 65 20 65 6e 64 0d 2f | 2f 09 09 09 09 6f 66 20 |he end./|/....of |
|00001cf0| 47 65 74 49 63 6f 6e 52 | 65 63 74 2e 20 54 68 61 |GetIconR|ect. Tha|
|00001d00| 74 20 63 61 75 73 65 64 | 20 69 6e 63 6f 72 72 65 |t caused| incorre|
|00001d10| 63 74 20 62 65 68 61 76 | 69 6f 75 72 20 77 68 65 |ct behav|iour whe|
|00001d20| 6e 20 49 63 6f 6e 57 72 | 61 70 0d 2f 2f 09 09 09 |n IconWr|ap.//...|
|00001d30| 09 31 2e 32 20 77 61 73 | 20 75 73 65 64 20 74 6f |.1.2 was| used to|
|00001d40| 20 77 72 61 70 20 69 63 | 6f 6e 73 2e 0d 2f 2f 0d | wrap ic|ons..//.|
|00001d50| 2f 2f 09 09 09 09 49 66 | 20 61 6e 20 49 4e 49 54 |//....If| an INIT|
|00001d60| 20 75 73 69 6e 67 20 74 | 68 61 74 20 76 65 72 73 | using t|hat vers|
|00001d70| 69 6f 6e 20 6f 66 20 53 | 68 6f 77 49 63 6f 6e 46 |ion of S|howIconF|
|00001d80| 61 6d 69 6c 79 20 77 61 | 73 20 74 68 65 20 66 69 |amily wa|s the fi|
|00001d90| 72 73 74 0d 2f 2f 09 09 | 09 09 69 6e 20 61 20 72 |rst.//..|..in a r|
|00001da0| 6f 77 2c 20 74 68 65 6e | 20 74 68 65 20 73 65 63 |ow, then| the sec|
|00001db0| 6f 6e 64 20 69 63 6f 6e | 20 69 6e 20 74 68 61 74 |ond icon| in that|
|00001dc0| 20 72 6f 77 20 77 6f 75 | 6c 64 20 6c 61 6e 64 20 | row wou|ld land |
|00001dd0| 6f 6e 20 74 6f 70 20 6f | 66 0d 2f 2f 09 09 09 09 |on top o|f.//....|
|00001de0| 69 74 2e 0d 2f 2f 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |it..//--|--------|
|00001df0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001e00| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001e10| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001e20| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001e30| 2d 2d 2d 0d 76 6f 69 64 | 20 4e 65 78 74 50 6f 73 |---.void| NextPos|
|00001e40| 69 74 69 6f 6e 28 76 6f | 69 64 29 0d 7b 0d 0d 0d |ition(vo|id).{...|
|00001e50| 0d 0d 09 2f 2f 20 41 64 | 76 61 6e 63 65 20 74 68 |...// Ad|vance th|
|00001e60| 65 20 70 6f 73 69 74 69 | 6f 6e 20 66 6f 72 20 74 |e positi|on for t|
|00001e70| 68 65 20 6e 65 78 74 20 | 69 63 6f 6e 2e 0d 09 67 |he next |icon...g|
|00001e80| 43 75 72 72 58 20 2b 3d | 20 6b 58 4f 66 66 73 65 |CurrX +=| kXOffse|
|00001e90| 74 3b 0d 09 0d 0d 09 0d | 09 2f 2f 20 52 65 63 6f |t;......|.// Reco|
|00001ea0| 6d 70 75 74 65 20 74 68 | 65 20 63 68 65 63 6b 73 |mpute th|e checks|
|00001eb0| 75 6d 2e 0d 09 67 54 68 | 65 43 68 65 63 6b 53 75 |um...gTh|eCheckSu|
|00001ec0| 6d 20 3d 20 28 67 43 75 | 72 72 58 20 3c 3c 20 31 |m = (gCu|rrX << 1|
|00001ed0| 29 20 5e 20 6b 43 68 65 | 63 6b 53 75 6d 43 6f 6e |) ^ kChe|ckSumCon|
|00001ee0| 73 74 3b 0d 7d 0d 0d 0d | 0d 0d 0d 0d 0d 0d 0d 0d |st;.}...|........|
|00001ef0| 2f 2f 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |//======|========|
|00001f00| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001f10| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001f20| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001f30| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 0d |========|=======.|
|00001f40| 2f 2f 09 09 50 6c 6f 74 | 42 57 49 63 6f 6e 20 3a |//..Plot|BWIcon :|
|00001f50| 20 50 6c 6f 74 20 61 6e | 20 27 49 43 4e 23 27 20 | Plot an| 'ICN#' |
|00001f60| 69 63 6f 6e 2e 09 09 09 | 09 09 09 09 09 09 09 09 |icon....|........|
|00001f70| 09 09 09 09 09 20 0d 2f | 2f 2d 2d 2d 2d 2d 2d 2d |..... ./|/-------|
|00001f80| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001f90| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001fa0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001fb0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001fc0| 2d 2d 2d 2d 2d 2d 0d 2f | 2f 09 09 4e 6f 74 65 20 |------./|/..Note |
|00001fd0| 3a 09 57 65 20 6c 65 61 | 76 65 20 74 68 65 49 63 |:.We lea|ve theIc|
|00001fe0| 6f 6e 20 69 6e 20 74 68 | 65 20 73 74 61 74 65 20 |on in th|e state |
|00001ff0| 77 65 20 66 6f 75 6e 64 | 20 69 74 20 2d 20 75 6e |we found| it - un|
|00002000| 6c 6f 63 6b 65 64 2e 0d | 2f 2f 0d 2f 2f 09 09 09 |locked..|//.//...|
|00002010| 09 54 68 69 73 20 72 6f | 75 74 69 6e 65 20 69 73 |.This ro|utine is|
|00002020| 20 62 61 73 65 64 20 6f | 6e 20 4a 69 6d 20 46 72 | based o|n Jim Fr|
|00002030| 69 65 64 6c 61 6e 64 65 | 72 27 73 20 54 65 63 68 |iedlande|r's Tech|
|00002040| 6e 69 63 61 6c 20 4e 6f | 74 65 2c 0d 2f 2f 09 09 |nical No|te,.//..|
|00002050| 09 09 d2 44 72 61 77 69 | 6e 67 20 49 63 6f 6e 73 |...Drawi|ng Icons|
|00002060| d3 0d 2f 2f 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |..//----|--------|
|00002070| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002080| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002090| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000020a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000020b0| 2d 0d 76 6f 69 64 20 50 | 6c 6f 74 42 57 49 63 6f |-.void P|lotBWIco|
|000020c0| 6e 28 52 65 63 74 20 2a | 69 63 6f 6e 52 65 63 74 |n(Rect *|iconRect|
|000020d0| 2c 20 48 61 6e 64 6c 65 | 20 74 68 65 49 63 6f 6e |, Handle| theIcon|
|000020e0| 29 0d 7b 09 42 69 74 4d | 61 70 09 09 73 72 63 2c |).{.BitM|ap..src,|
|000020f0| 20 64 65 73 74 3b 0d 09 | 47 72 61 66 50 74 72 09 | dest;..|GrafPtr.|
|00002100| 09 6d 79 50 6f 72 74 3b | 0d 0d 0d 0d 0d 09 2f 2f |.myPort;|......//|
|00002110| 20 49 66 20 77 65 20 64 | 6f 6e 27 74 20 68 61 76 | If we d|on't hav|
|00002120| 65 20 61 6e 20 69 63 6f | 6e 2c 20 74 68 65 72 65 |e an ico|n, there|
|00002130| 27 73 20 6e 6f 74 20 6d | 75 63 68 20 70 6f 69 6e |'s not m|uch poin|
|00002140| 74 20 69 6e 20 70 6c 6f | 74 74 69 6e 67 20 69 74 |t in plo|tting it|
|00002150| 2e 0d 09 2f 2f 20 42 75 | 74 2c 20 69 66 20 77 65 |...// Bu|t, if we|
|00002160| 20 64 6f 20 68 61 76 65 | 20 6f 6e 65 2c 20 77 65 | do have| one, we|
|00002170| 27 76 65 20 67 6f 74 20 | 74 6f 20 6c 6f 63 6b 20 |'ve got |to lock |
|00002180| 69 74 20 64 6f 77 6e 2e | 0d 09 69 66 20 28 74 68 |it down.|..if (th|
|00002190| 65 49 63 6f 6e 20 3d 3d | 20 6e 69 6c 29 0d 09 09 |eIcon ==| nil)...|
|000021a0| 72 65 74 75 72 6e 3b 0d | 09 65 6c 73 65 0d 09 09 |return;.|.else...|
|000021b0| 48 4c 6f 63 6b 28 74 68 | 65 49 63 6f 6e 29 3b 0d |HLock(th|eIcon);.|
|000021c0| 0d 09 0d 09 0d 09 2f 2f | 20 50 72 65 70 61 72 65 |......//| Prepare|
|000021d0| 20 74 68 65 20 73 6f 75 | 72 63 65 20 61 6e 64 20 | the sou|rce and |
|000021e0| 64 65 73 74 69 6e 61 74 | 69 6f 6e 20 62 69 74 6d |destinat|ion bitm|
|000021f0| 61 70 73 2e 0d 09 73 72 | 63 2e 62 61 73 65 41 64 |aps...sr|c.baseAd|
|00002200| 64 72 20 3d 20 2a 74 68 | 65 49 63 6f 6e 20 2b 20 |dr = *th|eIcon + |
|00002210| 31 32 38 3b 09 09 09 09 | 09 09 09 2f 2f 20 4f 66 |128;....|...// Of|
|00002220| 66 73 65 74 20 74 6f 20 | 4d 61 73 6b 2e 0d 09 73 |fset to |Mask...s|
|00002230| 72 63 2e 72 6f 77 42 79 | 74 65 73 20 3d 20 34 3b |rc.rowBy|tes = 4;|
|00002240| 0d 09 53 65 74 52 65 63 | 74 28 26 73 72 63 2e 62 |..SetRec|t(&src.b|
|00002250| 6f 75 6e 64 73 2c 20 30 | 2c 20 30 2c 20 33 32 2c |ounds, 0|, 0, 32,|
|00002260| 20 33 32 29 3b 0d 09 47 | 65 74 50 6f 72 74 28 26 | 32);..G|etPort(&|
|00002270| 6d 79 50 6f 72 74 29 3b | 0d 09 64 65 73 74 20 3d |myPort);|..dest =|
|00002280| 20 28 28 47 72 61 66 50 | 74 72 29 20 6d 79 50 6f | ((GrafP|tr) myPo|
|00002290| 72 74 29 2d 3e 70 6f 72 | 74 42 69 74 73 3b 0d 0d |rt)->por|tBits;..|
|000022a0| 09 0d 09 0d 09 2f 2f 20 | 54 72 61 6e 73 66 65 72 |.....// |Transfer|
|000022b0| 20 74 68 65 20 6d 61 73 | 6b 2e 0d 09 43 6f 70 79 | the mas|k...Copy|
|000022c0| 42 69 74 73 28 26 73 72 | 63 2c 20 26 64 65 73 74 |Bits(&sr|c, &dest|
|000022d0| 2c 20 26 73 72 63 2e 62 | 6f 75 6e 64 73 2c 20 69 |, &src.b|ounds, i|
|000022e0| 63 6f 6e 52 65 63 74 2c | 20 73 72 63 42 69 63 2c |conRect,| srcBic,|
|000022f0| 20 6e 69 6c 29 3b 0d 09 | 0d 09 0d 09 0d 09 2f 2f | nil);..|......//|
|00002300| 20 46 6f 6c 6c 6f 77 65 | 64 20 62 79 20 74 68 65 | Followe|d by the|
|00002310| 20 69 63 6f 6e 2e 0d 09 | 73 72 63 2e 62 61 73 65 | icon...|src.base|
|00002320| 41 64 64 72 20 3d 20 2a | 74 68 65 49 63 6f 6e 3b |Addr = *|theIcon;|
|00002330| 09 09 09 09 09 09 09 09 | 2f 2f 2f 20 30 20 6f 66 |........|/// 0 of|
|00002340| 66 73 65 74 20 74 6f 20 | 69 63 6f 6e 20 64 61 74 |fset to |icon dat|
|00002350| 61 2e 0d 09 43 6f 70 79 | 42 69 74 73 28 26 73 72 |a...Copy|Bits(&sr|
|00002360| 63 2c 20 26 64 65 73 74 | 2c 20 26 73 72 63 2e 62 |c, &dest|, &src.b|
|00002370| 6f 75 6e 64 73 2c 20 69 | 63 6f 6e 52 65 63 74 2c |ounds, i|conRect,|
|00002380| 20 73 72 63 4f 72 2c 20 | 6e 69 6c 29 3b 0d 0d 0d | srcOr, |nil);...|
|00002390| 0d 09 2f 2f 20 55 6e 6c | 6f 63 6b 20 74 68 65 20 |..// Unl|ock the |
|000023a0| 69 63 6f 6e 2e 0d 09 48 | 55 6e 6c 6f 63 6b 28 74 |icon...H|Unlock(t|
|000023b0| 68 65 49 63 6f 6e 29 3b | 0d 7d 0d 0d 00 00 00 00 |heIcon);|.}......|
|000023c0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000023d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000023e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000023f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002400| 00 00 01 00 00 00 02 b2 | 00 00 01 b2 00 00 00 46 |........|.......F|
|00002410| 61 76 65 20 66 6f 75 6e | 64 20 61 20 66 6f 6c 64 |ave foun|d a fold|
|00002420| 65 72 2e 20 57 65 20 6e | 6f 77 20 6c 6f 6f 6b 20 |er. We n|ow look |
|00002430| 0a 53 68 6f 77 49 63 6f | 6e 2e 63 01 02 00 00 00 |.ShowIco|n.c.....|
|00002440| 54 45 58 54 52 2a 63 68 | 01 00 00 50 00 00 00 00 |TEXTR*ch|...P....|
|00002450| 00 00 54 45 58 54 52 2a | 63 68 01 00 00 50 00 00 |..TEXTR*|ch...P..|
|00002460| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002470| 00 00 a8 2a 9b 0e 00 00 | 23 3c 00 00 02 f8 27 74 |...*....|#<....'t|
|00002480| 20 66 69 6e 64 20 69 74 | 20 77 65 20 75 70 64 61 | find it| we upda|
|00002490| 74 65 20 74 68 65 20 70 | 72 65 66 65 72 65 6e 63 |te the p|referenc|
|000024a0| 65 73 20 74 6f 20 73 65 | 6c 65 63 74 0d 09 2f 2f |es to se|lect..//|
|000024b0| 20 74 68 65 20 27 73 74 | 61 6e 64 61 72 64 27 20 | the 'st|andard' |
|000024c0| 57 44 45 46 2c 20 61 6e | 64 20 70 6f 73 74 20 61 |WDEF, an|d post a|
|000024d0| 20 6d 65 73 73 61 67 65 | 20 66 6f 72 20 74 68 65 | message| for the|
|000024e0| 20 75 73 65 72 2e 0d 09 | 6d 79 45 72 72 20 3d 20 | user...|myErr = |
|000024f0| 46 53 4d 61 6b 65 46 53 | 53 70 65 63 28 74 68 65 |FSMakeFS|Spec(the|
|00002500| 00 00 00 42 00 03 00 00 | 09 60 00 00 09 60 0f 41 |...B....|.`...`.A|
|00002510| 6e 69 6d 61 74 65 49 4e | 49 54 49 63 6f 6e 00 00 |nimateIN|ITIcon..|
|00002520| 14 1b 00 00 14 1b 0b 43 | 61 6c 63 49 63 6f 6e 50 |.......C|alcIconP|
|00002530| 6f 73 00 00 0f b2 00 00 | 0f b2 0b 50 6c 6f 74 42 |os......|...PlotB|
|00002540| 57 49 63 6f 6e 00 00 00 | 01 68 52 2a 63 68 02 50 |WIcon...|.hR*ch.P|
|00002550| 00 2d 00 06 02 46 01 ae | 00 18 00 00 00 00 00 00 |.-...F..|........|
|00002560| 00 00 00 00 00 00 00 04 | 00 09 00 00 06 4d 6f 6e |........|.....Mon|
|00002570| 61 63 6f 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |aco.....|........|
|00002580| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002590| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000025a0| 00 00 00 00 00 00 00 00 | 00 00 00 00 04 00 00 03 |........|........|
|000025b0| 00 00 00 48 00 48 00 00 | 00 00 03 48 02 52 00 00 |...H.H..|...H.R..|
|000025c0| 00 00 03 48 02 52 00 06 | 05 78 03 de 00 01 00 00 |...H.R..|.x......|
|000025d0| 00 48 00 48 00 00 00 00 | 03 48 02 52 00 01 00 00 |.H.H....|.H.R....|
|000025e0| 00 64 00 00 00 01 00 01 | 01 01 00 02 00 01 27 0f |.d......|......'.|
|000025f0| 00 01 00 01 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002600| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002610| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002620| 00 00 00 00 00 00 00 04 | 00 09 00 00 06 4d 6f 6e |........|.....Mon|
|00002630| 61 63 6f 08 00 00 00 00 | 00 00 00 00 00 00 00 00 |aco.....|........|
|00002640| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002650| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002660| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 04 01 00 |........|........|
|00002670| 00 01 00 00 00 00 00 01 | 00 00 00 00 00 00 00 00 |........|........|
|00002680| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002690| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000026a0| 00 00 01 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000026b0| 00 00 00 00 01 00 00 00 | 02 b2 00 00 01 b2 00 00 |........|........|
|000026c0| 00 46 00 83 b8 c0 09 30 | 00 00 00 1c 00 46 00 01 |.F.....0|.....F..|
|000026d0| 4d 50 53 52 00 00 00 12 | 42 42 53 52 00 00 00 1e |MPSR....|BBSR....|
|000026e0| 03 ef ff ff 00 00 00 00 | 00 00 00 00 02 50 ff ff |........|.....P..|
|000026f0| 00 00 00 46 00 82 f7 64 | 00 00 00 00 00 00 00 00 |...F...d|........|
+--------+-------------------------+-------------------------+--------+--------+